Monas α版 公開まで何が必要か
目的: α版を公開し実際に試してもらうために実装する必要があること、一旦は後に回すことを整理する
2024/5/14
現状整理
現在はローカル上でのみ動く形になっている
機能:
login画面
サインアップ
root_nodeとroot_keyの作成を行う
サインイン
ブロックチェーンアドレスを使用して認証する
署名の検証が成功するとKMS内にあるroot_keyの取得を行う
My-box画面
フォルダの作成
メタデータが生成する
暗号化を行いIPFS上に保存する
root_nodeにCIDを保存する
ファイルのアップロード
暗号化を行いIPFSに保存する
生成されたCIDをフォルダのメタデータに保存する
フォルダを再度暗号化しIPFS上に保存する
再暗号化
特定のフォルダorファイルを選択し、最下層に向けて復号する
最下層から特定ノードまで暗号化とIPFS上に保存するを繰り返す
共有
共有相手のアドレスを入力すると共有相手にfile_infoを送信する
Shared-box画面
itemの取得
CIDと鍵を入力することで共有itemを取得する
itemの表示
受け取ったitem一覧が表示される
Get-box画面
受信
共有されたfile_infoの一覧が表示される
α版で一番初めにリリースさせていたい機能
DIDによる認証
今回は簡易的にdid:keyを使用することは良いと思う
例えばEOAのアドレスの公開鍵からdid:keyの生成も1つYudai.icon
あれ、そうえばfilecoinでの実行ってどうなっているっけ!?
代わりに実行しているんだっけ?
上記の機能をユーザー自身のコンピュータで実行を行えるようにしたい
僕の中でこの実装をどうさせるかがずっと疑問
通信の部分というより、どうコンピュータ内で実行を行うのかかなYudai.icon
選択としてはブラウザなのか、コンピュータなのかが選択できそうだ
一旦は上記かな?
早い、遅い、最適化は次のフェーズであって、試してもらうことが僕的には必須だと思う
Peergosは現状になるまで10年間経っていて、リスペクトともに僕たちはもっと面白いものが作れると思うYudai.icon
マスタリングTCP/IP―入門編―を読んでいて思ったのは、もちろんゴミと呼ばれるものを作ることは違うが使用可能であることは、フィードバックも含めて加速させるには一番良いと思う チームの人と話しながらだYudai.icon
直近で開発できるかわからないが必須な機能
Key管理をどうするのか
kmsのままにするのか
共有されたKeyの保存場所
Monas内でkeyディレクトリ内に保存できるようにするのは1つ?
アルゴリズムの最適化
毎回ルートノードまで書き換え操作が必要なのを変えたい
また、keyの導出アルゴリズムを変えたい
状態保存
毎回トランザクションの実行ではなく、異なる形で行えるようにしたい
例えば考えられるのは共有相手とのソーシャルグラフを作成することで、Networkを構築し、変更操作が行われた時にpushする
これでも解決はできていない
GithubやDWNのようにRemoteサーバー的なのを作る?
繋がりがあるもの同士はRemoteサーバーで繋がりを得ている的な?
うーん、微妙Yudai.icon
2024/5/9
いったんはMonasサーバーとして行う
そしてDIDを実装するとして果たして意味があるのかどうかを考えるYudai.icon
Phase
Phase 1: Monasのサーバーで処理
DIDによる制御
ここで実装したいとは思う
トランザクションの実行って現状変わりに行なっているっけ?
Phase 2: ブラウザ実行
Peer to Peer間で直接通信
通信プロトコルの変更
Phase 3: アルゴリズムの改良
これを元に進めていくYudai.icon
メモ
そうえば日本語で書くときも受動態で書いている
「メタデータが生成される」-> 「メタデータを生成する」って書かないとYudai.icon
Rustに変えたいとは思うんやけど、どのタイミングでRustに書き換えるかは検討が必要やね